/** @jsxImportSource @emotion/react */
import * as React from "react";
import {Text,} from "customize-easy-ui-component";
import {crtOmni, ItemOmniConfig, omniCalculateDefault, pushOmni} from "../../common/omni";
import {JumpMeasure, } from "../../common/general";

export const setupItemAreaRoute= ({rep, orc, theme, noDefault} :{rep:any,orc?:any, theme:any,noDefault?:boolean}
) => {
    let ari: any[] =[];
    pushOmni(ari,'1.4',[
        crtOmni('乘客须知',{big:'1.资料审查',bspan:2,seco:'1.4',},{bspan:4, },
            <Text>（1）使用单位必须制定乘客须知，并在明显地方公布。对非专供儿童乘坐的游乐设施，因根据设备特点等，对乘坐儿童的年龄和身高进行规定。
            </Text>, {nos:'1.4',},false,'乘客须知'),
        crtOmni('运行记',{seco:'1.11',span:1},{ span:3, },
            <Text>（1）运行记录；
            </Text>, {nos:'1.11(1)', },true, ),
        crtOmni('检查记',{},undefined,
            <Text>（2）定期检查记录；
            </Text>, {nos:'1.11(2)', },true, ),
        crtOmni('保养记',{},undefined,
            <Text>（3）维修保养记录。
            </Text>, {nos:'1.11(3)', mergNos:'1.11',mergName:'维护记录',},false, '运行检查维护记录',),
    ],'1.4乘客须知-1.11运行检查维护记录');
    pushOmni(ari,'2.2',[
        crtOmni('地脚栓腐',{big:'2.基本要求、站房及塔架',bspan:7,seco:'※2.2',span:1},{bspan:12, span:2, },
            <Text>（1）地脚螺栓连接必须采取防止松动措施，不应有严重腐蚀、锈蚀；
            </Text>, {nos:'2.2(1)',pre:'※', },true, ),
        crtOmni('进站速度',{},undefined,
            <Text>（2）滑车在与制动（缓冲）装置接触前瞬间速度不大于3.5m/s。
                <JumpMeasure tag={'InstantanSpeed'} rep={rep}>附录A 滑车在与制动（缓冲）装置接触前瞬间速度（V）校核</JumpMeasure>
            </Text>, {nos:'2.2(2)',pre:'※', mergNos:'2.2',mergName:'滑行阻尼',},false, '滑行阻尼和进站速度',),
        crtOmni('索障碍距',{seco:'2.3',span:1},{ span:3, },
            <Text>（1）滑索与障碍物距离应不小于1.5m，
            </Text>, {nos:'2.3(1)', },true, ),
        crtOmni('相临索距',{},undefined,
            <Text>（2）相临滑索距离应不小于1.5m。
                <JumpMeasure tag={'Measure'} rep={rep}>七、观测数据及测量结果记录</JumpMeasure>
            </Text>, {nos:'2.3(2)', },true, ),
        crtOmni('跨通道高',{},undefined,
            <Text>（3）当滑索跨越行人通道时，承载索距地面高度应不小于6.5m。
            </Text>, {nos:'2.3(3)', mergNos:'2.3',mergName:'距离高度',},false,
            <div css={{display: 'inline-flex',flexDirection: 'column',textAlign: 'left'}}><Text css={{fontSize:theme.fontSizes[0]}}>滑索与障碍物距离</Text>
                <Text css={{fontSize: '0.7rem',marginLeft: '0.4rem'}}>相临滑索距离<br/>跨越人行通道时承载索与地面高度</Text>
            </div>,),
        crtOmni('基础',{seco:'※2.4',},undefined,
            <Text>（1）基础不应有影响游艺机正常运行的不均匀沉陷、开裂和松动等异常现象。
            </Text>, {nos:'2.4',pre:'※',},false,'基础'),
        crtOmni('焊缝表面',{seco:'2.5.2',},undefined,
            <Text>（1）焊缝不应有影响安全的漏焊、烧穿、裂纹、气孔、严重咬边、焊瘤熔渣及焊高不够等缺陷。
            </Text>, {nos:'2.5.2',},false,'焊缝表面质量检验'),
        crtOmni('螺栓防松',{seco:'2.5.3',span:1},{ span:2, },
            <Text>（1）重要零部件间采用螺栓连接时，应采取防止松动措施；
            </Text>, {nos:'2.5.3(1)', },true, ),
        crtOmni('销防脱落',{},undefined,
            <Text>（2）用销轴连接时，应采取防止脱落措施。
            </Text>, {nos:'2.5.3(2)', mergNos:'2.5.3',mergName:'销轴连接',},false, '零部件间螺栓、销轴连接',),
        crtOmni('脚栓松动',{seco:'2.6.1',span:1},{ span:2, },
            <Text>（1）地脚螺栓连接必须采取防止松动措施，
            </Text>, {nos:'2.6.1(1)', },true, ),
        crtOmni('脚栓腐蚀',{},undefined,
            <Text>（2）不应有严重腐蚀、锈蚀。
            </Text>, {nos:'2.6.1(2)', mergNos:'2.6.1',mergName:'地脚螺栓',},false, '地脚螺栓',),
        crtOmni('站台空间',{seco:'2.6.5',},undefined,
            <Text>（1）有足够的强度和刚度（安全系数为：（1）≥4（钢材）（2）≥7（混凝土））
            </Text>, {nos:'2.6.5',},false,'起点站台空间'),
    ],'2.2滑行阻尼和进站速度-2.6.5起点站台空间');
    pushOmni(ari,'3.2',[
        crtOmni('张力调整',{big:'3.钢丝绳及调整装置',bspan:4,seco:'※3.2',span:1},{bspan:5, span:2, },
            <Text>（1）承载索有张力调整装置；
            </Text>, {nos:'3.2(1)',pre:'※', },true, ),
        crtOmni('上下保护',{},undefined,
            <Text>（2）上下站固定端采用防松措施和二次保护。
            </Text>, {nos:'3.2(2)',pre:'※', mergNos:'3.2',mergName:'承载索',},false, '承载索张力调整装置和二次保护',),
        crtOmni('绳端固定',{seco:'3.3',},undefined,
            <Text>（1）钢丝绳端部必须用紧固装置固定，固定效率不小于80%，固定方法一般应符合GB8408-2018中6.6.2.6表8
                的要求。
            </Text>, {nos:'3.3',},false,'钢丝绳端部固定'),
        crtOmni('多绳承载',{seco:'3.6',},undefined,
            <Text>（1）各承载索受力均匀。
            </Text>, {nos:'3.6',},false,'多绳承载受力'),
        crtOmni('绳磨损',{seco:'3.7',},undefined,
            <Text>（1）钢丝绳无断丝、磨损等缺陷，钢丝绳无腐蚀等缺陷，钢丝绳使用时间（不超过4年）。
            </Text>, {nos:'3.7',},false,'钢丝绳磨损，腐蚀及使用时间'),
    ],'3.2承载索张力调整装置和二次保护-3.7钢丝绳磨损，腐蚀');
    pushOmni(ari,'4.1',[
        crtOmni('每年探伤',{big:'4.滑车',bspan:6,seco:'※4.1',},{bspan:8, },
            <Text>（1）滑车轮轴及重要焊缝（吊挂金属结构的焊缝）每年应进行不低于20%的磁粉（或渗透）探伤，滑轮轴直径大于30mm每年应进行不低
                于20%的超声波探伤。
            </Text>, {nos:'4.1',pre:'※',},false,'滑车轮轴及重要焊缝超声波和磁粉（或渗透）探伤'),
        crtOmni('槽内脱落',{seco:'※4.2',},undefined,
            <Text>（1）滑车应有防止钢丝绳从滑轮槽内脱落装置。
            </Text>, {nos:'4.2',pre:'※',},false,'滑车防脱落装置'),
        crtOmni(undefined,{seco:'※4.3',span:1},{ span:3, },
            <Text> 滑车保护装置
            </Text>, { },true, ),
        crtOmni('两组绳轮',{},undefined,
            <Text>（1）采用两组绳轮；
            </Text>, {nos:'4.3(1)',pre:'※', },true, ),
        crtOmni('二次保',{},undefined,
            <Text>（2）有二次保护。
            </Text>, {nos:'4.3(2)',pre:'※', mergNos:'4.3',mergName:'滑车保护',},false, '滑车保护装置',),
        crtOmni('乘坐试验',{seco:'4.4',},undefined,
            <Text>滑行小车在出厂前已进行10倍额定载荷试验；乘座物应采用由专业厂家生产的尼龙吊带，应有产品合格证或型
                式试验报告，合格证中应标明材质、额定载荷和破断强度等参数，破断强度不得小于1200Kg。
            </Text>, {nos:'4.4',},false,'滑车及乘坐物试验'),
        crtOmni('乘物外观',{seco:'4.5',},undefined,
            <Text>乘座物安全绳、带无破损、开线或开裂等缺陷。
            </Text>, {nos:'4.5',},false,'乘坐物外观检查'),
        crtOmni('安全束缚',{seco:'4.6',},undefined,
            <Text>束缚装置应符合GB8408-2018中6.8.2要求。
            </Text>, {nos:'4.6',},false,'安全束缚装置'),
    ],'4.滑车-4.6安全束缚');
    pushOmni(ari,'5.1',[
        crtOmni('双重制动',{big:'5.制动和回收装置、电气及控制、运行',bspan:8,seco:'※5.1',span:1},{bspan:11, span:2, },
            <Text>（1）制动装置必须设置双重制动系统；
            </Text>, {nos:'5.1(1)',pre:'※', },true, ),
        crtOmni('每套制动',{},undefined,
            <Text>（2）每套制动系统能独立止住乘客滑行，能起到缓冲和制动作用。
            </Text>, {nos:'5.1(2)',pre:'※', mergNos:'5.1',mergName:'制动装置',},false, '制动装置',),
        crtOmni('防护垫',{seco:'5.2',},undefined,
            <Text>（1）防护垫尺寸（厚度不低于400mm，面积不小于1.5×1.5m），悬挂牢固可靠。
            </Text>, {nos:'5.2',},false,'防护垫'),
        crtOmni('绳索打折',{seco:'※5.3',span:1},{ span:2, },
            <Text>（1）回收装置有防钢丝绳脱出装置和防止绳索打折或缠绕的装置，电动回收装置有防过卷装置。
            </Text>, {nos:'5.3(1)',pre:'※', },true, ),
        crtOmni('限位操作',{},undefined,
            <Text>（2）回收装置应设有限位装置并操作简单、性能可靠。
            </Text>, {nos:'5.3(2)',pre:'※', mergNos:'5.3',mergName:'滑车回收',},false, '滑车回收装置',),
        crtOmni('外壳接地',{seco:'※5.4',span:1},{ span:2, },
            <Text>（1）电气设备金属外壳等必须可靠接地，
            </Text>, {nos:'5.4(1)',pre:'※', },true, ),
        crtOmni('接地电阻',{},undefined,
            <Text>（2）低压配电系统保护接地电阻应≤10Ω。
                <JumpMeasure tag={'Measure'} rep={rep}>七、观测数据及测量结果记录</JumpMeasure>
            </Text>, {nos:'5.4(2)',pre:'※', mergNos:'5.4',mergName:'接地要求',},false, '接地要求和接地电阻',),
        crtOmni('电气安装',{seco:'5.5',},undefined,
            <Text>（1）电气设备安装包括控制柜、元器件安装、电缆（线）敷设等应符合标准规范要求。
            </Text>, {nos:'5.5',},false,'电气设备安装'),
        crtOmni('控制系',{seco:'5.6.1',},undefined,
            <Text>（1）控制系统必须满足游艺机工况要求。
            </Text>, {nos:'5.6.1',},false,'控制系统检查'),
        crtOmni('按钮标志',{seco:'5.6.2',},undefined,
            <Text>（1）控制元件应灵敏可靠、操作方便，操作按钮等应有明确标志。
            </Text>, {nos:'5.6.2',},false,'控制元件及操作按钮、信号标志灯等颜色检查'),
        crtOmni('紧急开关',{seco:'※5.6.3',},undefined,
            <Text>（1）按标准要求操作室内明显处或站台上应设紧急事故开关，开关按钮采用手动复位式。
            </Text>, {nos:'5.6.3',pre:'※',},false,'紧急事故开关及开关形式检查'),
    ],'5.1制动装置-5.6.3紧急事故开关及开关');
    pushOmni(ari,'5.7',[
        crtOmni('回路绝缘',{bspan:7,seco:'※5.7',},{bspan:7, },
            <Text>（1）带电回路与地之间的绝缘电阻应≥1MΩ。
                <JumpMeasure tag={'Measure'} rep={rep}>七、观测数据及测量结果记录</JumpMeasure>
            </Text>, {nos:'5.7',pre:'※',},false,'绝缘电阻'),
        crtOmni('避雷',{seco:'5.8',},undefined,
            <Text>（1）游乐设施高度超过15m时，应设避雷装置，避雷接地电阻≤10Ω。
            </Text>, {nos:'5.8',},false,'避雷装置'),
        crtOmni('风速计',{seco:'5.9',},undefined,
            <Text>（1）设备应有风速仪。
            </Text>, {nos:'5.9',},false,'风速计'),
        crtOmni('通讯设施',{seco:'5.10',},undefined,
            <Text>（1）设备应有通讯设施。
            </Text>, {nos:'5.10',},false,'通讯设施'),
        crtOmni('救援措施',{seco:'5.11',},undefined,
            <Text>（1）应有有效的救援措施，救援措施类型可为人工盘车或者人工救助。
            </Text>, {nos:'5.11',},false,'救援措施'),
        crtOmni('运行试验',{seco:'※5.12.1',},undefined,
            <Text>（1）滑行平稳可靠，无异常的抖动、晃动等现象；进站平稳顺利，无冲击现象；试验次数（额定载荷不少于5
                次）：试验次数（125%超载不少于5次）。
            </Text>, {nos:'5.12.1',pre:'※',},false,'运行试验'),
        crtOmni('零件异常',{seco:'※5.12.2',},undefined,
            <Text>（1）设各种运行试验中，零部件不应有永久变形及损坏现象。
            </Text>, {nos:'5.12.2',pre:'※',},false,'零部件异常现象检查、应力测试'),
    ],'5.7绝缘电阻-5.12.2零部件异常现象检查、应力测试');

    //【特殊部分】动态，用户定制的；   clRefs动态扩展hook报错  #缺点：只能做纯文本的项目叙述，不能格式化换行。
    let addConfigs =[] as ItemOmniConfig[];         //避免HOOK报错：就算_Oitems没有也要加上算上1个 const clRefs =useProjectListAs({count: refCount } )。
    if(orc?._Oitems?.length>0){
        let valOitems=orc?._Oitems?.filter((a:any) => a?.s );
        valOitems.forEach(({s:unos,c:urecap,e:udesc} :any, i:number)=> {
            //只能 统一是 简单的 非自拆分的: 【约束】name不能变动 顺序，中间不可空一条；
            if(0===i){
                addConfigs.push( crtOmni('_其它'+i,{big:'14.其它',bspan: orc?._Oitems?.length,seco:unos},undefined,
                    <Text>{udesc}
                    </Text>, {nos: unos},false, urecap)
                );
            }else{
                addConfigs.push( crtOmni('_其它'+i,{seco:unos},undefined,
                    <Text>{udesc}
                    </Text>, {nos: unos},false, urecap)
                );
            }
        });
    }
    pushOmni(ari,'14.1',[
        ...addConfigs
    ],'14. 其它（可添加的）');

    if (!noDefault) ari = omniCalculateDefault(ari, {iclasDefault: "", displayDefault: false});
    return {Item: ari,} as { [key: string]: any[] };
};
